CDMA is a digital transmission technique where multiple signals are distinguished by their respective chip code sequences (codes). The signal structure generally has a time division component where transmissions are divided into, for example, a sequence of frames that may be further subdivided into timeslots. In addition, some systems use transmission time intervals (TTIs) where a TTI indicates the time interval over which a particular set of codes (and other formatting parameters) are valid. To implement a receiver, knowledge of the identity of the codes used to construct the transmitted signal is generally required.
The receiver in the user equipment (UE) may know the identity of all codes, a subset of codes, or none of the codes used for any given transmission. Codes associated with signals directed to the desired UE are called “own-UE codes.” Codes associated with signals directed to other receivers are called “other-UE codes.” Typically, a system includes a means for the receiver to know or learn the identity of own-UE codes via initial programming, signaling, acquisition algorithms, or various other techniques that may include trial and error and may be inefficient from a power or performance standpoint. Systems may or may not provide a means to learn the identity of other-UE codes.
Demodulation of data associated with any one code is subject to degraded bit error rate (BER) caused by interfering own-UE codes, other-UE codes, and other interference sources. The receiver can benefit from knowledge of the identity of own-UE or other-UE codes by implementing improved algorithms that provide a lower BER at a given signal-to-noise ratio in a radio channel with a certain multipath characteristic.
Multi-User Detection or a Multi-User Detector (MUD) is one example of a receiver algorithm that simultaneously processes received signals associated with multiple codes in an attempt to minimize the impact of interference and provide a lower BER, or the same BER in less favorable SNR or multipath. The MUD operates optimally when it is configured for the exact set of transmitted codes. To achieve this, a MUD algorithm requires knowledge of the identity of transmitted own-UE and other-UE codes.
One approach to implementing a MUD is to simply configure the receiver for all codes that may or may not have been transmitted. There are two disadvantages that render this approach undesirable, and possibly impractical. First, the more codes a MUD is configured to process, the greater the number of computations required to demodulate the transmitted data. Configuring a receiver only for codes that have been transmitted requires less power, fewer computations, and less processing time. Second, the BER is often degraded if the MUD is configured to process a relatively large number of codes. Configuring a receiver only for codes that have been transmitted generally provides an improvement in BER.
Blind code detection (BCD) is one method of learning the identity of transmitted codes when the receiver uses a MUD algorithm and complete knowledge of the identity of all transmitted codes is not known and/or is not signaled to the receiver. The performance of BCD is measured by how well the list of transmitted codes it creates matches the actual list of transmitted codes. BCD performance is improved by making as much use as possible of a priori and signaled information about transmitted codes and by making the information available to other receiver algorithms as quickly as possible after it is received.
For example, if information regarding the transmitted codes is signaled during timeslot n of frame k, then it would most benefit the receiver to have the signaled information available to demodulate the data in timeslot n or the first timeslot that uses the signaled information. If that were not possible, the next best design would make the information available to demodulate data in timeslot n+1, then n+2, and so on. If it is not possible to extract the information during frame k, it would benefit the receiver to make the information available as soon as possible afterwards such as at the end of frame k, during frame k+1, or frame k+2, and so on. Finally, if it is not possible to extract the information during the TTI, it would benefit the receiver to make the information available as soon as possible afterwards such as at the end of the TTI, during the next TTI, and so on.
The delay between when signaled information about transmitted codes arrives at the receiver antenna and when the information is made available to elements of the receiver for improved demodulation performance depends on the receiver architecture. In particular, limiting factors may include the latency in signal processing paths, the amount of memory that is provided to store received samples, the clock speed of the hardware, the processing speed of a microprocessor or DSP chip, DC power limitations, the maximum number of gates, and other similar structural limitations.
The Third Generation Partnership Project (3GPP) time division duplex (TDD) system, including both high and low chip rate options, and the time division-synchronous code division multiple access (TD-SCDMA) system are examples of CDMA systems that employ multi-user detection and are partitioned into TTIs, frames, and timeslots. In these systems one or more channelization codes in one or more timeslots are allocated to coded composite transport channels (CCTrCHs). In each timeslot, multiple CCTrCHs may be transmitted and may be directed to one or more UEs.
During call set-up, a CCTrCH is provided with an allocation of channelization codes and timeslots which are signaled to the UE. Even though the UE has a list of allocated codes, not all of the allocated codes are used in every transmission. Thus, the UE has partial information regarding own-UE codes. Also, the list of other-UE codes is not available, except in certain cases where some hint as to the total number of codes is indicated through physical layer signaling.
Each transmitted code is a combination of a channelization code, a channelization code specific multiplier, and a scrambling code as defined in Technical Specification Group Radio Access Network, Spreading and modulation (TDD), Release 4, 3GPP TS 25.223 V4.1.0 (2001-06). The scrambling code is signaled to the UE well before data demodulation initiates. The code specific multipliers are a priori associated with channelization codes, so the identity of the channelization code itself is the only one of the three that needs to be determined. BCD determines the identity of the transmitted codes by combining information that is signaled with code detection algorithms that operate on the received data. The output of BCD is a list of channelization codes that is provided to the MUD. The MUD also requires information about midamble offsets and spreading factors associated with the codes, which are also included in the BCD output.
If a code allocated to a CCTrCH is not transmitted, then the CCTrCH is in discontinuous transmission (DTX). A CCTrCH is said to be in “partial DTX” if not all of the allocated codes are transmitted in a given frame. It is said to be in “full DIX” if none of the allocated codes are transmitted in a frame. Techniques to monitor whether a CCTrCH is in full DTX and provide the information to BCD are disclosed in U.S. patent application Ser. No. 10/196,857 filed Jul. 16, 2002, which is incorporated by reference as if fully set forth herein. That application provides an improved method to inform BCD if a CCTrCH is in full DTX and to monitor when the CCTrCH exits full DTX. The improvement makes the information available to BCD without having to wait for the output of certain other receiver algorithms.
The identity of transmitted codes for an entire frame can be derived from the Transport Format Combination Indicator (TFCI) that is signaled to the UE and is multiplexed with the data signal as described in Technical Specification Group Radio Access Network, Physical channels and mapping of transport channels onto physical channels (TDD), Release 4, 3GPP TS 25.221 V4.1.0 (2001-06). The TFCI is transmitted in the first timeslot of every frame allocated to a CCTrCH, and optionally in subsequent timeslots in the frame. Each UE can process the received TFCI to determine the transmitted own-UE codes in each timeslot of the frame. However, this requires demodulating received data symbols and executing various other algorithms to decode and interpret the TFCI information. In a particular receiver implementation, the inherent latency of these processes could result in the identity of transmitted own-UE codes not being available when received data in the first, and possibly some subsequent, timeslots in the frame are processed in the MUD. BCD uses own-UE code information from TFCI processing when available; however, it will also function when such information is not available, though possibly with degraded performance.
A CCTrCH can comprise multiple transport channels (TrCHs). Each TrCH may have its own TTI. For a 3GPP system, per Technical Specification Group Radio Access Network, Multiplexing and channel coding (TDD), Release 4, 3GPP TS 25.222 V4.1.0 (2001-03), paragraph 4.2, a TTI may be 10, 20, 40, or 80 ms corresponding to one, two, four, or eight ten-millisecond frames. The TFCI and the transmitted codes remain constant for the shortest TTI among all TrCHs in the CCTrCH. Thus the TFCI word may be repeated multiple times per frame and multiple times across several frames. The shortest TTI among all TrCHs in the CCTrCH will be referred to as TTImin.